package com.foreveross.fetl.core.domain.freight.repository;

import java.util.Date;
import java.util.List;

import com.foreveross.fetl.common.jpa.IBaseRepository;
import com.foreveross.fetl.core.domain.freight.CsairReport;

public interface ICsairReportRepository extends IBaseRepository {
	
	/**
	 * 根据条件查找条记录
	 * @param reportDate 报表日期 yyyy-MM-dd
	 * @param flightDate 航班时间 yyyy-MM-dd
	 * @param flightType 航班类型 0 单程 1 往返
	 * @param fromCity   出发城市三字码
	 * @param toCity     到达城市三字码
	 * @param flightNo   航班号
	 * @return
	 */
	public List<CsairReport> findByCondition(Date reportDate, Date flightDate,
			int flightType, String fromCity, String toCity, String flightNo,String grabHbaseKey);
	
	public void saveOrUpdate(CsairReport csairReport);
	
	public CsairReport findById(Long id);
	
	/**
	 * 从hbase 源表预处理数据插入到mysql中
	 * @param airCompanys 官网
	 * @param chanels 渠道
	 * @param formCity 出发城市三字码
	 * @param toCIty   到达城市三字码
	 * @param reportDate 报表日期
	 * @param flightDate 航班日期
	 */
	public int createReport(List<String> airCompanys,List<String> chanels,String formCity,String toCity,Date reportDate, Date flightDate,int webType,int flightType);
	
	/**
	 * 从hbase 源表预处理数据插入到mysql中
	 * @param chanels 渠道
	 * @param formCity 出发城市三字码
	 * @param toCIty   到达城市三字码
	 * @param reportDate 报表日期
	 * @param flightDate 航班日期
	 */
	public int createDouble(List<String> chanels,String formCity,String toCity,Date reportDate, Date flightDate,int webType);
	
}
